package com.quartet.modules.vehicle.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 车辆详细信息表(TVehicleDetailInfo)表实体类
 *
 * @author makejava
 * @since 2021-05-04 17:09:37
 */
@Data
public class TVehicleDetailInfoAddRequestDto implements Serializable {
    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private Integer id;
    /**
     * 车牌号
     */
    @ApiModelProperty(value = "车牌号")
    private String carNumber;
    /**
     * 车辆编码
     */
    @ApiModelProperty(value = "车辆编码")
    private String vehicleCode;
    /**
     * 省份
     */
    @ApiModelProperty(value = "省份")
    private String province;
    /**
     * 市
     */
    @ApiModelProperty(value = "市")
    private String city;
    /**
     * 区/县
     */
    @ApiModelProperty(value = "区/县")
    private String area;
    /**
     * 行驶证发证日期
     */
    @ApiModelProperty(value = "行驶证发证日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime drivingLicenseTime;
    /**
     * 营运状态 1：正常 2：停运 3：维修
     */
    @ApiModelProperty(value = "营运状态 1：正常 2：停运 3：维修")
    private Integer operatingStatus;
    /**
     * 总质量(kg)
     */
    @ApiModelProperty(value = "总质量(kg)")
    private float totalWeight;
    /**
     * 外廓尺寸高
     */
    @ApiModelProperty(value = "外廓尺寸高")
    private float outlineDimensionHigh;
    /**
     * 内廓尺寸长
     */
    @ApiModelProperty(value = "内廓尺寸长")
    private float innerlineDimensionLength;
    /**
     * 准牵引总质量(kg)
     */
    @ApiModelProperty(value = "准牵引总质量(kg)")
    private float tractionMass;
    /**
     * 轮胎规格
     */
    @ApiModelProperty(value = "轮胎规格")
    private String tireSize;
    /**
     * 车辆保险到期时间
     */
    @ApiModelProperty(value = "车辆保险到期时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime vehicleInsuranceExpireTime;
    /**
     * 车主/业户(行驶证)
     */
    @ApiModelProperty(value = "车主/业户(行驶证)")
    private String operatorDrivingPermit;
    /**
     * 核定载人数
     */
    @ApiModelProperty(value = "核定载人数")
    private Integer authorizedCarryingCapacity;
    /**
     * 内廓尺寸长
     */
    @ApiModelProperty(value = "内廓尺寸长")
    private float outlineDimensionLength;
    /**
     * 发动机型号
     */
    @ApiModelProperty(value = "发动机型号")
    private String engineModel;
    /**
     * 内廓尺寸宽
     */
    @ApiModelProperty(value = "内廓尺寸宽")
    private float internalDimensionWide;
    /**
     * 车辆出厂时间
     */
    @ApiModelProperty(value = "车辆出厂时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime vehicleDeliveryTime;
    /**
     * 经营范围
     */
    @ApiModelProperty(value = "经营范围")
    private String businessScope;
    /**
     * 检验有效期至
     */
    @ApiModelProperty(value = "检验有效期至")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime inspectionValidTime;
    /**
     * 车辆等级
     */
    @ApiModelProperty(value = "车辆等级")
    private String vehicleGrade;
    /**
     * 核定载质量(kg)
     */
    @ApiModelProperty(value = "核定载质量(kg)")
    private float approvedLoadMass;
    /**
     * 外廓尺寸宽
     */
    @ApiModelProperty(value = "外廓尺寸宽")
    private float outlineDimensionWide;
    /**
     * 轴数
     */
    @ApiModelProperty(value = "轴数")
    private Integer axesNumber;
    /**
     * 内廓尺寸高
     */
    @ApiModelProperty(value = "内廓尺寸高")
    private float internalDimensionHigh;
    /**
     * 轮胎数
     */
    @ApiModelProperty(value = "轮胎数")
    private Integer tiresNumber;
    /**
     * 车辆购置方式 1：一次性付清 2：分期付款
     */
    @ApiModelProperty(value = "车辆购置方式 1：一次性付清 2：分期付款")
    private Integer vehiclePurchaseMode;
    /**
     * 服务合同到期时间
     */
    @ApiModelProperty(value = "服务合同到期时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime contractExpireTime;
    /**
     * 车辆保险种类 1:交强险 2：盗抢险 3：三者 4：车损险 5：车行人员险 6：货物运输险 7：其他
     */
    @ApiModelProperty(value = "车辆保险种类 1:交强险 2：盗抢险 3：三者 4：车损险 5：车行人员险 6：货物运输险 7：其他")
    private String vehicleInsuranceType;
}
